package com.tedu.api.thread;

/**
 * 线程的生命周期【线程模型】
 * 1.新建状态【🐂】
 * SimpleThread byd=new SimpleThread();//新建状态1.策划出生
 * 2.就绪状态【Runnable】新建的线程  调用start方法 线程进入就绪状态
 * 调用start()后线程等待被调度
 * 3.运行状态【Running】新建的线程,执行run方法进入运行状态
 * 当前线程获得CPU时间片,执行run方法,输出run方法中内容
 * 4.阻塞状态【Blocked】停止的状态,sleep方法
 * Thread.sleep(1000);进入阻塞状态，停1秒
 * 5.终止状态【Dead】：正常  异常
 * 执行run方法最后,进入线程终止状态
 * 案例:线程的出生入死
 */
public class ThreadStateDemo {
    public static void main(String[] args) {
        System.out.println("逼养的策划全家死光光");

        SimpleThread byd=new SimpleThread();//新建状态1.策划出生
        System.out.println(byd.getName()+"跟新建策划喝三鹿奶粉");

        byd.start();//策划开始进入司马状态【就绪状态】
        System.out.println(byd.getName()+"在调用start后处于就绪状态【在写恶心玩家代码的策划】");


    }
}
//创建SimpleThread实现Thread类
class SimpleThread extends Thread{
    //3.运行状态
    public void run(){
        System.out.println(Thread.currentThread().getName()+""+"处于运行【司马】状态");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            System.out.println(Thread.currentThread().getName()+"干掉策划【中断】");
        }
        System.out.println(Thread.currentThread().getName()+"处于四全家状态【终止】");
    }
}